#ifndef ____LISTOFPOINT______
#define ____LISTOFPOINT______

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

typedef struct tPoint* ListOfPoint;
typedef struct tPoint{
	int x;
	int y;
	ListOfPoint next;
} Point;

int sizeLOP(ListOfPoint LOP);				// Mengembalikan jumlah elemen yang ada dalam list
bool isEmpty(ListOfPoint LOP);				// Mengembalikan nilai true bila list kosong
void add(ListOfPoint* LOP, int x, int y);   // Menambahkan elemen baru pada list
void del(ListOfPoint* LOP);					// Menghapus elemen pertama pada list
void createList(ListOfPoint* LOP);			// Membuat List baru yang kosong
void clearList(ListOfPoint* LOP);			// Mengosongkan List
void printList(ListOfPoint LOP);			// Mencetak isi list ke layar
Point get(ListOfPoint LOP, int idx);		// Mendapatkan isi list pada indeks tertentu
ListOfPoint getAddress(ListOfPoint LOP, int idx); //Mendapatkan alamat dari list pada indeks tertentu
int getX(ListOfPoint LOP, int idx);		// Mendapatkan nilai x dari isi list pada indeks tertentu
int getY(ListOfPoint LOP, int idx);		// Mendapatkan nilai x dari isi list pada indeks tertentu

#endif
